package com.ruoyi.bizsys.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 产品延期金融包对象 product_deferred_info
 *
 * @author african-loan
 * @date 2022-06-09
 */

@Data
public class ProductDeferredInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 是否置灰锁，true是
     */
    @TableField(exist = false)
    private boolean needLocked;
    /**
     * 前端消息下标 0
     * 0 ：xx等级的用户可以使用延期还款，请保持良好的还款记录，提升自己等级，解锁延期还款功能。点击确认（如图4-1），关闭弹框，停留在当前页面；
     * 1：弹框提示：请按期还款，保持良好的还款记录，解锁延期还款功能
     */
    @TableField(exist = false)
    private Integer msgIndex;

    @TableId(type = IdType.AUTO)
    private Long id;


    /**
     * 延期产品ID
     */
    @Excel(name = "延期产品ID")
    private String productCode;


    /**
     * 延期产品名称
     */
    @Excel(name = "延期产品名称")
    private String productName;


    /**
     * 延期产品等级对应customer_info-credit_rating
     */

    @Excel(name = "延期产品等级对应customer_info-credit_rating")

    private String creditRating;


    /**
     * 延期产品利率
     */

    @Excel(name = "延期产品利率")

    private BigDecimal interestRate;


    /**
     * 延期产品服务费率
     */

    @Excel(name = "延期产品服务费率")

    private BigDecimal serviceRate;


    /**
     * 单次延期天数
     */

    @Excel(name = "单次延期天数")

    private Integer numDeferredDay;


    /**
     * 延期期数
     */
    @Excel(name = "延期期数")
    private Integer numDeferredTimes;
    /**
     * 延期产品保留天数
     */

    @Excel(name = "延期产品保留天数")
    private Integer numDeferredRetainDay;


    /**
     * 延期还款最低本金
     */

    @Excel(name = "延期还款最低本金")

    private BigDecimal minRepayPrincipal;


    /**
     * 延期还款最高本金
     */

    @Excel(name = "延期还款最高本金")

    private BigDecimal maxRepayPrincipal;


    /**
     * 延期产品过期时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "延期产品过期时间", width = 30, dateFormat = "yyyy-MM-dd")

    private Date expireTime;


    /**
     * 用户层面的激活未激活：0未激活1已经激活
     */

    @Excel(name = "用户层面的激活未激活：0未激活1已经激活")

    private Integer showIsActive;


    /**
     * 0下架1上架
     */

    @Excel(name = "0下架1上架")

    private Integer status;


    /**
     * 状态0无效1有效
     */

    @Excel(name = "状态0无效1有效")

    private String state;


    /**
     * 备注
     */

    @Excel(name = "备注")

    private String remark;


    /**
     * 创建者
     */

    @Excel(name = "备注")

    private String createBy;


    /**
     * 创建时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "备注", width = 30, dateFormat = "yyyy-MM-dd")

    private Date createTime;


    /**
     * 更新者
     */

    @Excel(name = "备注")

    private String updateBy;


    /**
     * 更新时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "备注", width = 30, dateFormat = "yyyy-MM-dd")

    private Date updateTime;

}